[INFO] cloning repository https://github.com/varun-r-mallya/cmd-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/varun-r-mallya/cmd-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvarun-r-mallya%2Fcmd-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvarun-r-mallya%2Fcmd-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 11f4c141845b90a378fee2b34b89566123df0e74
[INFO] fixing varun-r-mallya/cmd-rs against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvarun-r-mallya%2Fcmd-rs" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/varun-r-mallya/cmd-rs
[INFO] finished tweaking git repo https://github.com/varun-r-mallya/cmd-rs
[INFO] tweaked toml for git repo https://github.com/varun-r-mallya/cmd-rs written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/varun-r-mallya/cmd-rs on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/varun-r-mallya/cmd-rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded strip-ansi-escapes v0.2.1
[INFO] [stderr]   Downloaded vte v0.14.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] cdbffd796d31277df013196d3344cfa9d0af676d8d0e56df427e848116fd21a7
[INFO] running `Command { std: "docker" "start" "cdbffd796d31277df013196d3344cfa9d0af676d8d0e56df427e848116fd21a7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "cdbffd796d31277df013196d3344cfa9d0af676d8d0e56df427e848116fd21a7" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cdbffd796d31277df013196d3344cfa9d0af676d8d0e56df427e848116fd21a7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "cdbffd796d31277df013196d3344cfa9d0af676d8d0e56df427e848116fd21a7" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]     Checking log v0.4.32
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]     Checking futures-channel v0.3.32
[INFO] [stderr]     Checking http v1.4.2
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]    Compiling openssl v0.10.81
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking either v1.16.0
[INFO] [stderr]     Checking mio v1.2.1
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking rustix v0.38.44
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]     Checking unicode-segmentation v1.13.3
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]    Compiling openssl-sys v0.9.117
[INFO] [stderr]     Checking compact_str v0.8.2
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking getrandom v0.4.2
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]     Checking vte v0.14.1
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]     Checking deunicode v1.6.2
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking slug v0.1.6
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]     Checking strip-ansi-escapes v0.2.1
[INFO] [stderr]     Checking uuid v1.23.3
[INFO] [stderr]     Checking dirs v6.0.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking hostname v0.4.2
[INFO] [stderr]     Checking similar v2.7.0
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking regex v1.12.4
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking ratatui v0.29.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking h2 v0.4.14
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]     Checking hyper v1.10.1
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking cmd-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `ToolContext`
[INFO] [stdout]  --> src/tools/edit_file.rs:1:54
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{check_path_in_workspace, RegisteredTool, ToolContext, ToolResult};
[INFO] [stdout]   |                                                      ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Result`
[INFO] [stdout]  --> src/tools/edit_file.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anyhow::{Context, Result};
[INFO] [stdout]   |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToolContext`
[INFO] [stdout]  --> src/tools/glob_tool.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{RegisteredTool, ToolContext, ToolResult};
[INFO] [stdout]   |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context` and `Result`
[INFO] [stdout]  --> src/tools/glob_tool.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anyhow::{Context, Result};
[INFO] [stdout]   |              ^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToolContext`
[INFO] [stdout]  --> src/tools/grep.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{RegisteredTool, ToolContext, ToolResult};
[INFO] [stdout]   |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToolContext`
[INFO] [stdout]  --> src/tools/kill_shell.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{RegisteredTool, ToolContext, ToolResult};
[INFO] [stdout]   |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]  --> src/tools/kill_shell.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anyhow::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToolContext`
[INFO] [stdout]  --> src/tools/read_directory.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{RegisteredTool, ToolContext, ToolResult};
[INFO] [stdout]   |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context` and `Result`
[INFO] [stdout]  --> src/tools/read_directory.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anyhow::{Context, Result};
[INFO] [stdout]   |              ^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToolContext`
[INFO] [stdout]  --> src/tools/read_file.rs:1:54
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{check_path_in_workspace, RegisteredTool, ToolContext, ToolResult};
[INFO] [stdout]   |                                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Result`
[INFO] [stdout]  --> src/tools/read_file.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anyhow::{Context, Result};
[INFO] [stdout]   |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToolContext`
[INFO] [stdout]  --> src/tools/read_multiple_files.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{RegisteredTool, ToolContext, ToolResult};
[INFO] [stdout]   |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Result`
[INFO] [stdout]  --> src/tools/read_multiple_files.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anyhow::{Context, Result};
[INFO] [stdout]   |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToolContext`
[INFO] [stdout]  --> src/tools/todo_write.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{RegisteredTool, ToolContext, ToolResult};
[INFO] [stdout]   |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]  --> src/tools/todo_write.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anyhow::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToolContext`
[INFO] [stdout]  --> src/tools/write_file.rs:1:54
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{check_path_in_workspace, RegisteredTool, ToolContext, ToolResult};
[INFO] [stdout]   |                                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Result`
[INFO] [stdout]  --> src/tools/write_file.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anyhow::{Context, Result};
[INFO] [stdout]   |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToolContext`
[INFO] [stdout]  --> src/tools/edit_file.rs:1:54
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{check_path_in_workspace, RegisteredTool, ToolContext, ToolResult};
[INFO] [stdout]   |                                                      ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Result`
[INFO] [stdout]  --> src/tools/edit_file.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anyhow::{Context, Result};
[INFO] [stdout]   |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToolContext`
[INFO] [stdout]  --> src/tools/glob_tool.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{RegisteredTool, ToolContext, ToolResult};
[INFO] [stdout]   |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context` and `Result`
[INFO] [stdout]  --> src/tools/glob_tool.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anyhow::{Context, Result};
[INFO] [stdout]   |              ^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToolContext`
[INFO] [stdout]  --> src/tools/grep.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{RegisteredTool, ToolContext, ToolResult};
[INFO] [stdout]   |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToolContext`
[INFO] [stdout]  --> src/tools/kill_shell.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{RegisteredTool, ToolContext, ToolResult};
[INFO] [stdout]   |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]  --> src/tools/kill_shell.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anyhow::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToolContext`
[INFO] [stdout]  --> src/tools/read_directory.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{RegisteredTool, ToolContext, ToolResult};
[INFO] [stdout]   |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context` and `Result`
[INFO] [stdout]  --> src/tools/read_directory.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anyhow::{Context, Result};
[INFO] [stdout]   |              ^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToolContext`
[INFO] [stdout]  --> src/tools/read_file.rs:1:54
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{check_path_in_workspace, RegisteredTool, ToolContext, ToolResult};
[INFO] [stdout]   |                                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Result`
[INFO] [stdout]  --> src/tools/read_file.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anyhow::{Context, Result};
[INFO] [stdout]   |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToolContext`
[INFO] [stdout]  --> src/tools/read_multiple_files.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{RegisteredTool, ToolContext, ToolResult};
[INFO] [stdout]   |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Result`
[INFO] [stdout]  --> src/tools/read_multiple_files.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anyhow::{Context, Result};
[INFO] [stdout]   |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToolContext`
[INFO] [stdout]  --> src/tools/todo_write.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{RegisteredTool, ToolContext, ToolResult};
[INFO] [stdout]   |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]  --> src/tools/todo_write.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anyhow::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToolContext`
[INFO] [stdout]  --> src/tools/write_file.rs:1:54
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{check_path_in_workspace, RegisteredTool, ToolContext, ToolResult};
[INFO] [stdout]   |                                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Result`
[INFO] [stdout]  --> src/tools/write_file.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anyhow::{Context, Result};
[INFO] [stdout]   |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `Result<_, anyhow::Error>`
[INFO] [stdout]    --> src/api/retry.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let result = retry_with_backoff(
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 124 |             || async {
[INFO] [stdout] 125 |                 Err(anyhow::anyhow!("400 Bad Request"))
[INFO] [stdout]     |                 --------------------------------------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `result` an explicit type, where the type for type parameter `T` is specified
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let result: Result<T, _> = retry_with_backoff(
[INFO] [stdout]     |                   ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stderr`
[INFO] [stdout]   --> src/tools/kill_shell.rs:51:33
[INFO] [stdout]    |
[INFO] [stdout] 51 | ...                   let stderr = String::from_utf8_lossy(&o.stderr);
[INFO] [stdout]    |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stderr`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stderr`
[INFO] [stdout]   --> src/tools/kill_shell.rs:51:33
[INFO] [stdout]    |
[INFO] [stdout] 51 | ...                   let stderr = String::from_utf8_lossy(&o.stderr);
[INFO] [stdout]    |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stderr`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/tui/mod.rs:122:33
[INFO] [stdout]     |
[INFO] [stdout] 122 |     fn handle_resume(&mut self, name: &str) -> Option<String> {
[INFO] [stdout]     |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/tui/mod.rs:122:33
[INFO] [stdout]     |
[INFO] [stdout] 122 |     fn handle_resume(&mut self, name: &str) -> Option<String> {
[INFO] [stdout]     |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `model` is never read
[INFO] [stdout]   --> src/api/anthropic.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct ApiClient {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 36 |     model: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `bearer_token` is never used
[INFO] [stdout]   --> src/auth.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl AuthInfo {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn bearer_token() -> Result<Option<String>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `skip_permissions` is never used
[INFO] [stdout]    --> src/cli.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout] 100 | impl Cli {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn skip_permissions(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `save`, `effective_provider`, and `effective_reasoning_effort` are never used
[INFO] [stdout]   --> src/config.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl Config {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn save(&self) -> Result<()> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn effective_provider(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn effective_reasoning_effort(&self) -> Option<&str> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `load_messages` is never used
[INFO] [stdout]    --> src/context/mod.rs:237:12
[INFO] [stdout]     |
[INFO] [stdout]  74 | impl ContextEngine {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub fn load_messages(&mut self, messages: Vec<Message>) { self.messages = messages; }
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path` is never read
[INFO] [stdout]   --> src/session/mod.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct SessionMeta {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 45 |     pub id: String,
[INFO] [stdout] 46 |     pub path: PathBuf,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SessionMeta` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `project_path` is never read
[INFO] [stdout]   --> src/session/mod.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct SessionManager {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 54 |     /// Project directory path: ~/.commandcode/projects/<slugified-cwd>/
[INFO] [stdout] 55 |     project_path: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `session_file`, `meta_file`, `save_messages`, `load_messages`, `load_stored`, and `message_to_stored` are never used
[INFO] [stdout]    --> src/session/mod.rs:92:12
[INFO] [stdout]     |
[INFO] [stdout]  60 | impl SessionManager {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn session_file(&self) -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub fn meta_file(&self) -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn save_messages(&self, messages: &[Message]) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub fn load_messages(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     fn load_stored(&self) -> Result<Vec<StoredMessage>> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     fn message_to_stored(&self, msg: &Message, id: String) -> Result<StoredMessage> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stored_to_message` is never used
[INFO] [stdout]    --> src/session/mod.rs:285:4
[INFO] [stdout]     |
[INFO] [stdout] 285 | fn stored_to_message(stored: &StoredMessage) -> Result<Message> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `session_id` is never read
[INFO] [stdout]   --> src/tools/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct ToolContext {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub session_id: String,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]  --> src/tui/events.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 |     ApiToolResult { id: String, name: String, output: String },
[INFO] [stdout]   |     -------------   ^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `finish_reason` is never read
[INFO] [stdout]  --> src/tui/events.rs:9:55
[INFO] [stdout]   |
[INFO] [stdout] 9 |     ApiDone { usage: Option<crate::types::UsageInfo>, finish_reason: Option<String> },
[INFO] [stdout]   |     ------- field in this variant                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/tui/events.rs:5:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum AppEvent {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout]  5 |     Key(KeyEvent),
[INFO] [stdout]    |     ^^^
[INFO] [stdout]  6 |     ApiText(String),
[INFO] [stdout]  7 |     ApiToolCall { id: String, name: String, input: String },
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     ToolDone { name: String, result: String },
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 13 |     ToolError { name: String, error: String },
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     Tick,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 17 |     Resize(u16, u16),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 18 |     UserInput(String),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KEY_HELP` is never used
[INFO] [stdout]  --> src/tui/keybindings.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const KEY_HELP: &str = "/ or Ctrl+P  Command palette
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Action` is never used
[INFO] [stdout]   --> src/tui/keybindings.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum Action {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_key` is never used
[INFO] [stdout]   --> src/tui/keybindings.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl Action {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 28 |     pub fn from_key(key: &KeyEvent) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CYAN` is never used
[INFO] [stdout]  --> src/tui/theme.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const CYAN: Color = Color::Cyan;
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GREEN` is never used
[INFO] [stdout]  --> src/tui/theme.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const GREEN: Color = Color::Green;
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RED` is never used
[INFO] [stdout]  --> src/tui/theme.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const RED: Color = Color::Red;
[INFO] [stdout]   |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `YELLOW` is never used
[INFO] [stdout]  --> src/tui/theme.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const YELLOW: Color = Color::Yellow;
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIM` is never used
[INFO] [stdout]  --> src/tui/theme.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const DIM: Color = Color::DarkGray;
[INFO] [stdout]   |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WHITE` is never used
[INFO] [stdout]  --> src/tui/theme.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const WHITE: Color = Color::White;
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLUE` is never used
[INFO] [stdout]  --> src/tui/theme.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const BLUE: Color = Color::Blue;
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAGENTA` is never used
[INFO] [stdout]   --> src/tui/theme.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const MAGENTA: Color = Color::Magenta;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `model` is never read
[INFO] [stdout]   --> src/tui/widgets/status_bar.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct StatusBar {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 10 |     pub model: String,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_true` is never used
[INFO] [stdout]   --> src/types.rs:92:4
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn default_true() -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `provider_executed` is never read
[INFO] [stdout]    --> src/types.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |     ToolResultEvent {
[INFO] [stdout]     |     --------------- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 131 |         provider_executed: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SseEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `status_code` and `is_retryable` are never read
[INFO] [stdout]    --> src/types.rs:164:9
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub struct SseErrorInfo {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 163 |     pub message: Option<String>,
[INFO] [stdout] 164 |     pub status_code: Option<u16>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 165 |     #[serde(rename = "isRetryable")]
[INFO] [stdout] 166 |     pub is_retryable: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SseErrorInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `input_token_details` is never read
[INFO] [stdout]    --> src/types.rs:177:9
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct UsageInfo {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub input_token_details: Option<InputTokenDetails>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UsageInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cache_read_tokens` and `cache_write_tokens` are never read
[INFO] [stdout]    --> src/types.rs:183:9
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct InputTokenDetails {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 182 |     #[serde(rename = "cacheReadTokens", default)]
[INFO] [stdout] 183 |     pub cache_read_tokens: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 184 |     #[serde(rename = "cacheWriteTokens", default)]
[INFO] [stdout] 185 |     pub cache_write_tokens: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InputTokenDetails` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `stop_reason` is never read
[INFO] [stdout]    --> src/types.rs:194:9
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub struct ApiResponse {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub stop_reason: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ApiResponse` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/tui/widgets/conversation.rs:52:20
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn build_lines(&self) -> Vec<Line> {
[INFO] [stdout]    |                    ^^^^^         ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn build_lines(&self) -> Vec<Line<'_>> {
[INFO] [stdout]    |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `cmd-rs` (bin "cmd-rs" test) due to 1 previous error; 19 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "cdbffd796d31277df013196d3344cfa9d0af676d8d0e56df427e848116fd21a7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cdbffd796d31277df013196d3344cfa9d0af676d8d0e56df427e848116fd21a7", kill_on_drop: false }`
[INFO] [stdout] cdbffd796d31277df013196d3344cfa9d0af676d8d0e56df427e848116fd21a7
